//js 调用
$(function(){
   //弹窗
   $('#myModal').modal();
   //构造web3对象
   var web3 = new Web3(new Web3.providers.HttpProvider("http://localhost:8545"));
   web3.eth.getAccounts(function(e,r){
      console.log(e,r);
   });

   //构造crowd合约对象
   var crowdContractAddr = "0x02ff15c43f074b9a45b4ca67201e3392017a1d4b";
   var ownerAddr = "0xb5f20f7ed2d236f40a4d815c47a5a4052c5b2898";
   var crowdObj = new web3.eth.Contract(crowdAbi, crowdContractAddr);
   var acctAddr;
   var kccContractAddr;
   var mvcContractAddr;
   var kccObj;
   console.log(crowdObj);

   // 1.获得kcc mvc 合约地址 实例化kcc mvc
   crowdObj.methods.getAddr().call(function(e,r){
      if(!e) {
         kccContractAddr = r._kcc;
         mvcContractAddr = r._mvc;
         console.log("get addr:", kccContractAddr, mvcContractAddr);
         //2. 获得kcc合约对象
         kccObj = new web3.eth.Contract(kccAbi, kccContractAddr);
         //3. 构造mvc对象
         mvcObj = new web3.eth.Contract(mvcAbi, mvcContractAddr);
      }
      else{
         alert("失败");
         console.log("失败：",e);
      }
   });

   //登陆按钮被点击
   $(".Login").on("click",function(){
      acctAddr = $("#addressId").val();
      console.log("get acct:",acctAddr);
      $(".close_win").click();
   });

   //充值kcc
   $(".Recharge").on("click",function(){
      kccObj.methods.airDrop(acctAddr, 1000).send(
         {
         from : ownerAddr,//owner
         gas : 300000
      },function(e,r){
         if(!e) {
            alert("充值成功");
         }
         else {
            alert("失败");
            console.log("充值失败：",e);
         }
      });
   });

   //投票处理- 此时可以认为合约地址都已经拿到,kcc合约对象，mvc合约地址
   $(".Vote").on("click",function(){
      // 调用kcc转账给owner,至少1000 kcc
      kccObj.methods.transfer(ownerAddr, 1000).send(
         {
            from : acctAddr,
            gas  : 300000
         },function(e,r){
            if(!e) {
               console.log("transfer ok:");
               //3. 调用mvc的空投给acctAddr
               mvcObj.methods.airDrop(acctAddr,1000).send(
                  {
                     from : ownerAddr,
                     gas  : 300000
                  },function(e,r){
                     if(!e) {
                        alert("投票成功");
                     }
                     else {
                        alert("投票失败");
                        console.log("失败:",e);
                     }
               });
            }
            else {
                alert("投票失败");
                console.log("失败:",e);
            }
      });
   });

   // 刷新数据
   $(".Refresh").on("click",function(){
       // 显示用户kcc余额；
       kccObj.methods.balanceOf(acctAddr).call(function(e,r) {
            if (!e) {
                console.log("显示用户kcc余额成功:" + r);
                var expre = "#kcc-balance";
                $(expre).text(r);
            }
            else {
                alert("显示用户kcc余额失败");
                console.log("显示用户kcc余额失败：", e);
            }
       });

       // 查询用户拥有的众筹份额；
       mvcObj.methods.balanceOf(acctAddr).call(function(e,r) {
           if (!e) {
               var balance = r._balance;
               var share = r._share;
               console.log("查询用户拥有的众筹份额及百分比成功:" , r._balance ,r._share);
               var expre = "#mvc-balance";
               $(expre).text(r._balance);

               expre = "#mvc-share";
               $(expre).text(r._share+"%");
           }
           else {
               alert("查询用户拥有的众筹份额失败");
               console.log("查询用户拥有的众筹份额：", e);
           }
       });

       // 电影名称；
       mvcObj.methods.getMovieName().call(function(e,r) {
           if (!e) {
               console.log("显示电影名称成功:" + r);
               var expre = "#mvc-desc";
               $(expre).addClass('style','text-align:right');
               $(expre).text(r);
           }
           else {
               alert("显示电影名称失败");
               console.log("显示电影名称：", e);
           }
       });
   });

});